package com.qiusuo0226.core.service;

import com.qiusuo0226.mvc.util.JsonResultModel;
import com.qiusuo0226.core.pojo.dto.DictionaryAddDTO;

/**
 * 字典 逻辑处理层 接口
 * @author qiusuo
 * @date 2023/7/23 21:43
 */
public interface DictionaryService {

    /**
     * 字典值新增
     * @param dto 字典值新增
     * @return
     */
    JsonResultModel add(DictionaryAddDTO dto);

    /**
     * 根据字典组的编码获取该字典组下的所有字典值列表
     * @param groupCode 字典组编码
     * @param searchWord 模糊字典名
     * @return
     */
    JsonResultModel list(String groupCode, String searchWord);

    /**
     * 获取字典组列表
     * @param searchWord 模糊字典组名
     * @param pageNo 当前页
     * @param pageSize 当前页大小
     * @return 根据字典组名模糊搜索到的字典组列表
     */
    JsonResultModel groupList(String searchWord, Integer pageNo, Integer pageSize);

    /**
     * 字典组编辑
     * @param groupName 字典组名称
     * @param groupCode 字典组编码
     * @return
     */
    JsonResultModel editGroup(String groupName, String groupCode);

    /**
     * 字典值编辑
     * @param iid 字典值唯一标识
     * @param dictionaryName 字典值名
     * @param dictionaryCode 字典值编码
     * @param sort 排序
     * @return
     */
    JsonResultModel edit(String iid, String dictionaryName, String dictionaryCode, Integer sort);
    /**
     * 删除字典组
     * @param groupCode 字典组编码
     * @return
     */
    JsonResultModel removeGroup(String groupCode);

    /**
     * 删除字典值
     * @param groupCode 字典组编码
     * @param dictionaryCodes 字典值编码拼接字符串，多个编码以英文逗号分隔
     * @return
     */
    JsonResultModel remove(String groupCode, String dictionaryCodes);


}
